home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / comm / bbs / spcht12a.lha / SuperChat.DOC next >
Encoding:
Text File  |  1991-04-26  |  14.4 KB  |  343 lines

  1.                               SuperChat v1.2
  2.                              By: Craig Jackson
  3.  
  4.  
  5. OVERVIEW
  6.  
  7.     SuperChat is a replacement chat mode for Percy Broadnax's MetroBBS.  It
  8.  can use ANSI color codes and simple locations in an effort to make chatting a
  9.  little easier to follow, or resort to basic text chatting for compatability
  10.  with unfortunate users stuck with ancient terminal software.  SuperChat
  11.  utilizes a WWIV-like "TwoWayChat" box when in ANSI mode.  There are dozens
  12.  of other features, listed later in the documentation.  SuperChat, hopefully,
  13.  should outperform even Metro's standard chat mode, due to it being in 100%
  14.  'C'.
  15.  
  16.  
  17. REQUIREMENTS
  18.  
  19.  * MetroBBS
  20.  * Modem
  21.  * Remote User(s) With ANSI Capability
  22.  * IBM.font Size 8 In Your FONTS: Directory (Comes With Metro BBS)
  23.  * Ruby.font Size 15 In Your FONTS: Directory (Off Of "WorkBench Extras")
  24.  * Open WorkBench Screen (The Code Does NOT Test For WorkBench, Just Uses It)
  25.  * Amiga 500/1000/2000/2000HD/2500 NO 3000(T)s (JEALOUSY ...  it should run :)
  26.  * Appreciation (That's All I Ever Ask For My  Metro Doors) & Bug Reports
  27.  
  28.  
  29. FEATURES
  30.  
  31.  * Split Screen Interface With Identifying Color Codes
  32.  * ONLY Printable TRUE ASCII Appears (Less Line Noise)
  33.  * User "Time Left" Status Display (Real Time)
  34.  * User Name Appears In Status Display
  35.  * Universal Screen Flash For Paging
  36.  * Intuitive Pager
  37.  * No Large Window/Screen Pops Up When Paging
  38.  * Depth (WindowToBack/Front) Gadgets (HIDDEN)
  39.  * SysOp Chat Abort (Close Gadget) (HIDDEN)
  40.  * Word Wrap
  41.  * Modem/Keyboard Buffers (Never Lose Characters <I Hope>)
  42.  * 100% Optimised SAS 'C' Code
  43.  * Dual Cursors For Position Marks Of SysOp/User (Displayed Locally ONLY)
  44.  * S:SuperChat.config File To Customize Your SetUp
  45.  * Audiable Tone (Thanks to Dieter Bruns' LinkSound For This)
  46.  * ASCII/ANSI Modes
  47.  * S:SuperChat.macros File To Customize SysOp Macros
  48.  * Capture To Printer, File, Or Both
  49.  * Decrease/Increase A User's Time
  50.  * Intuitionized Interface
  51.  * Line Noise Meter
  52.  
  53.  
  54. INSTALLATION
  55.  
  56.  1. Consult your MetroBBS instructions to get a description of how to
  57.     set up a door program (remebering to rename "SuperChat" to DOORx
  58.     where x is simply a number, as in DOOR1).  SuperChat would definitely
  59.     be MOST effective if it was NOT installed in your doors menu, but in
  60.     you main, message, and file menu while still allowing for standard chat
  61.     to be accessed (i.e. leave Metro's built-in chat assigned to "C" and
  62.     SuperChat assigned to "S" or something of that nature).
  63.     NOTE: Version 1.2 adds a new ASCII chat mode, you may enter chat with
  64.           non-ANSI users directly, SuperChat's ASCII mode is much more
  65.           advanced than Metro's currently built-in one (sorry Percy :)
  66.  2. IMPORTANT NEW TO 1.2 -- Assign/Rename the place you want
  67.                             "SuperChat.capture" to be written to as "BBS:"
  68.  3. Go about your normal BBS operation EXCEPT for the Enter/Exit Chat key
  69.     will still take you to Metro's default chat mode, you will need to
  70.     type the command you have initailized for SuperChat to enter it, just
  71.     as if the user had paged you.
  72.  
  73.  
  74.  
  75. CONFIG FILE
  76.  
  77.   All configuration information is stored in the file, on your logical
  78.  device "S:" (assigned as the s/ directory on your boot disk usually),
  79.  called "SuperChat.config".  A standard text editor will allow you to
  80.  edit this file.  Each "number)" below indicates a seperate line, do NOT
  81.  add comments to the end of these lines or the configure module may
  82.  mis-interpret a value.
  83.  
  84.  Format:  1) Number of times to scroll the user name by and to flash/beep
  85.              (This number MUST be at LEAST 1 or it'll default to 1)
  86.           2) Number (1 = On/0 = Off) indicating whether or not to beep
  87.              during a page.
  88.           3) Number (1 = On/0 = Off) indicating whether or not to flash
  89.              during a page.
  90.  
  91.  Example:
  92.           5
  93.           1
  94.           1
  95.  
  96.   NOTE: This file is NOT necessary, SuperChat will assume certain things
  97.         if it's not created/present however.
  98.  
  99.  
  100. CHAT MODE SELECTOR
  101.  
  102.   Initially, the remote user is granted the option of choosing either ASCII
  103.  or ANSI chat mode, however, if the SysOp is initiating chat, and even if
  104.  he/she isn't, this small function will allow him/her to specify which mode
  105.  to use.  To take control of the SysOp's Overide panel you must: first,
  106.  click on the section of WorkBench's title bar with the panel's text; and
  107.  secondly, press either the Y key or the N key appropiately (look at the
  108.  actual program for more information).
  109.  
  110.  
  111. PAGER
  112.  
  113.  -----------------------
  114.  | Lone Wolf Paging... |   <= User Attempting Page & Status Display
  115.  -----------------------
  116.  |                     |
  117.  |     //=======\      |
  118.  |    //  #   # \\     |   <= Page Answer Gadget
  119.  |       #######       |
  120.  |      #########      |
  121.  -----------------------
  122.  
  123.   The pager sequence begins with an egotisical, hardcoded claimer message,
  124.  "SuperChat v1.2 -- Craig Jackson", which quickly scrolls by the title bar
  125.  thick window.  After that, the window should resize itself to reveal a
  126.  large telephone gadget.  The pager will continue to flash any opened screens
  127.  until either the gadget is selected, and the phone is picked up; or the
  128.  pager completes six (or specified number, see config section) unsuccessful
  129.  screen flashes and audioable page sequences.  From here, you, the SysOp,
  130.  will be taken to the main chat part or returned to normal BBS operation.
  131.  
  132.  
  133. LAYOUT
  134.  
  135. ANSI
  136.  
  137.  --------------------------
  138.  |                        |
  139.  | Yes...                 |
  140.  |                        | <--- SysOp Input Display (Cyan)
  141.  | Good... he's GREEDY!!  |
  142.  |                        |
  143.  |==========[xx]==========| <--- Chat Seperator/Status Display
  144.  |                        |
  145.  |  What a GREAT chat box |
  146.  | door... I will go send | <--- User Input Display (Green)
  147.  | the author my Porsche! |
  148.  |                        |
  149.  --------------------------
  150.  |######GADGET STRIP######|
  151.  --------------------------
  152.  
  153.   In the above, "[xx]" actually resembles something like "[LONE WOLF 45]",
  154.  where "LONE WOLF" is the users handle and "45" is the number of minutes
  155.  remaining in this user's session.
  156.   When typing, word wrap should work pretty effectively, but when you run
  157.  into the bottom border of EITHER side of the chat box (meaning that you
  158.  type to the status bar if you're the SysOp, or the user types to the
  159.  maximum line for himself), the lines have to be sent one by one, in full,
  160.  and this, while occuring EXTREMELY quickly on the local terminal, most
  161.  likely will NOT perform at such a speed remotely... meaning that you should
  162.  wait a few seconds each time this happens, or the remote terminal (depending
  163.  on how well it's terminal software is written) may lose some characters.
  164.  
  165. ASCII
  166.  
  167.  --------------------------
  168.  | Yes...                 |
  169.  |  What a GREAT chat box |
  170.  | door... I will go send |
  171.  | the author my Porsche! |
  172.  | Good... he's GREEDY!!  |
  173.  |                        |
  174.  |                        |
  175.  |                        |
  176.  |                        |
  177.  |                        |
  178.  |==========[xx]==========| <--- Status Display
  179.  --------------------------
  180.  |######GADGET STRIP######|
  181.  --------------------------
  182.  
  183.   As you can see, SuperChat, in ASCII (read: non-ANSI) mode, doesn't
  184.  seperate the text.  It will wordwrap correctly however, and only advances
  185.  the page locally.  The rest should be familiar to you from the ANSI chat
  186.  mode.
  187.  
  188.  NOTE: Contrary to the above, I am NOT an egotist... I just hate to write
  189.        documentation when I'm ready to ship out my programs, so I get
  190.        sarcastic, which makes me psychotic :) ... nothing wrong with me! :)
  191.  
  192.  
  193. CONTROLS
  194.  
  195.  SYSOP/USER FUNCTIONS
  196.     Alpha/Numeric Keys  - Puts a character to both terminals
  197.     <BACKSPACE>         - Removes last character of user who pressed it
  198.     <RETURN>            - Advances to beginning of the following line
  199.     <TAB>               - Advances four spaces from the current position
  200.  
  201.  SYSOP ONLY FUNCTIONS
  202.     STANDARD
  203.     WindowClose         - Exits chat mode (upper left)              [HIDDEN]
  204.     Depth Gadgets       - Places screen in fore/back (upper right)  [HIDDEN]
  205.     Capture Gadget*     - Saves chat to file (BBS:SuperChat.capture)[TOGGLE]
  206.     Printer Gadget*     - Prints chat (checks for custom printer)   [TOGGLE]
  207.     +15Mins Gadget%     - Adds 15 minutes to user's time (to 32000) [1CLICK]
  208.     -15Mins Gadget%     - Subtracts 15 minutes of user's time (to 1)[1CLICK]
  209.     Macro Gadget        - Enters macro select mode                  [TOGGLE]
  210.     MACRO MODE
  211.     Minus Gadget        - Scroll back one macro                     [1CLICK]
  212.     Plus Gadget         - Scroll foreward one macro                 [1CLICK]
  213.     Select Gadget       - Send current macro across                 [1CLICK]
  214.     Macro Gadget        - Exit Macro select mode                    [TOGGLE]
  215.  
  216.     * SuperChat allows for the SysOp to capture to both a file and the
  217.       printer at the same time, one of the two places, or neither.
  218.       NOTE: Make sure you have the device "BBS:" either named or assigned,
  219.             that's where the capture will go.
  220.     % This time change currently effects SuperChat internally only, I have
  221.       found no direct way to pass the modeified usertime when exiting a door.
  222.  
  223.  
  224. LINE NOISE INDICATOR
  225.  
  226.   This feature, unique to SuperChat at this writing, reflects an
  227.  approximation of the percentage of line noise, from the modem, per minute.
  228.  Although not entirely accurate, as it uses relatively simple routines to
  229.  determine the amount of line noise, the line noise indicator can give you
  230.  a general idea of how bad the connection is... if your meter constantly
  231.  measures in the 90 percentile range, or so, it might be a good idea to
  232.  test your line.  The indicator, that thin red line at the very bottom of
  233.  the screen surrounded by a small grey box, can be thrawted by a user
  234.  constantly sending extended or lower-order characters across the line (i.e.
  235.  ASCII uploading an ANSI, which not work anyways).
  236.  
  237.  
  238. MACRO FILE
  239.  
  240.   SuperChat looks for a file called "S:SuperChat.macros" to grab your custom
  241.  macros.  The file contains ten lines of text (!! 35 CHARACTERS OR LESS PER
  242.  LINE!!), each line being a macro key.  At the end of each macro, you
  243.  !!MUST!! place a "|" character (promptly above the "\" to the side of the
  244.  backspace character) for the program to read it in correctly. The following
  245.  example demonstrates this (without the indention of course):
  246.  
  247.  Your momma wears combat boots...|
  248.  What the HECK do you want??|
  249.  Access Level Going Down NOW!!|
  250.  What's you're deal?|
  251.  I'm the mean, green, user beater!|
  252.  Drop it NOW or die!!|
  253.  Bang, you're dead!|
  254.  Get outta my face!|
  255.  Leave me alone!|
  256.  I hate your whole generation!|
  257.  
  258.   Notice that there are no comments at the end of the lines and that EVERY
  259.  macro is on a line by itself, proceeded by a "|" symbol, even the last line.
  260.  Also, it's a good idea to design some more functional macros than the ones
  261.  above, unless you have a board full of leeches :)
  262.  
  263.  NOTE: The macro reader module is relatively primitive in its current form,
  264.        please follow the above steps extremely closely, or you could cause
  265.        SuperChat to have some major problems.
  266.  
  267.  
  268. TECHNICAL OVERVIEW
  269.  
  270.   SuperChat v1.2 opens the serial.device on unit 0 in shared mode, which
  271.  allows for the somewhat speedy character reads/writes.  Also contributing
  272.  to this, SuperChat has multiple buffers, of varying lengths, which wait
  273.  their turn to be sent.  Repeated calls to the ANSI 'C' function time() are
  274.  used to test for elapsed minutes.  Total Executable Length = 32804 Bytes.
  275.  Don't worry, viruses usually don't update documenatition, so that should
  276.  be about right :)
  277.  
  278.  
  279. REVISION HISTORY
  280.  
  281.  0.9  First version, written in HiSoft BASIC, entirely to slow.  Had
  282.       wordwrap, scrolling, coloring, status bar, and a VERY simple
  283.       pager module.
  284.  1.0  Fast version, written entirely in 'C' after deleting the old 1.0 'C'
  285.       version while "cleaning up" my hard disk.  Vastly improved pager
  286.       module and overall performance.  Added close/depth gadgets and
  287.       scrolltext routine (inspired, but not coded, by IntuiTracker1.1).
  288.  1.1  Thanks go to Tom Reilly for suggesting a longer beep duration,
  289.       originally limited so the SysOp would not get too annoyed while
  290.       working/playing on/with some other program, which is now the
  291.       first entry in the SuperChat.config file, on your logical device
  292.       "S:" (See Above).  Also, thanks to Brian Cox for knocking me into
  293.       WWIV chat one day, so I could notice that it advanced five lines,
  294.       instead of one, on a refresh (read as: hinted at a way to optimize
  295.       the program).  Also, chat, from the user's end, should be MUCH
  296.       improved... I fixed a few MAJOR bugs (in cursor location) and
  297.       made it send 50% LESS text than before, to accomplish the same goal.
  298.  1.2  MAJOR MAJOR UPGRADE!!  Added synchnocrous printer and file capture
  299.       routines, SysOp macro keys (gadgets), +/- usertime gadgets, and an
  300.       ASCII chat implementation.  Also, I added a relative line noise meter
  301.       (It's just a gimmick OK?!, anyone with gimmicky ideas also let me know).
  302.  
  303.  
  304. FUTURE
  305.  
  306.  * (Possibly) Cursor Controls               [UNLIKELY]
  307.  * IFF Sound File Player                    [POSSIBLE]
  308.  * "Do Not Disturb" Switch/Gadget           [POSSIBLE]
  309.  
  310.  
  311. HELP ME
  312.  
  313.   Although I've proceeded relatively on my own with this project, I'm always
  314.  open to suggestions and submissions.  Basically, "SuperChat" is probably
  315.  the STUPIEST name ANYONE could think of, let me know if you have some ideas.
  316.  Also, I'm not entirely happy with my telephone gadget, the original was
  317.  MUCH nicer in that it was half the size and actually looked detailed, so if
  318.  you, or anyone you know, wishes to get their name in whatever light this
  319.  door generates, send me some 4-color IFFs, using the 1.0-1.3.3 color
  320.  palette, and I'll implement them if they rival mine.  As always, anyone
  321.  that sends me an A3000 will automatically recieve a disk with all the
  322.  software I've written on it (well worth the price :).
  323.  
  324.  
  325. LEGAL JARGON
  326.  
  327.   I reserve all rights, Copyright (c) 1991 Craig Jackson, and accept NO
  328.  liabilities for any damage that this software, source code, icons, data
  329.  files, and/or documentation (how docs could ruin your machine I don't know,
  330.  someone will find a way :) inflects on your machine and its related parts.
  331.  
  332.  
  333. CONTACT
  334.  
  335.     I can be electronically contacted on "Deep Thought", the Software
  336.  Distillery's BBS at (919)-460-7430.  In the unlikely event that "Deep
  337.  Thought" comes down or changes numbers I can be contacted on "The National
  338.  Amiga Echo" on any FidoNET node.  In both places I may be found under the
  339.  user name "Craig Jackson".  If you want the 'C' source, let me know.
  340.  
  341.                                     -- Craig --
  342.  
  343.